/*
  实现登录和注册功能
*/
// 自定义表单验证规则
// form不是表单元素，而是LayUI提供的对象，用于实现表单验证等相关的功能
var form = layui.form
form.verify({
  uname: [/^[\S]{6,8}$/, '请输入6-8位字符串'],
  pwd: function (value) {
    if (!/^[\d]{6}$/.test(value)) {
      return '密码必须是6位数字'
    }
  },
  repwd: function (value) {
    // 判断两次输入的密码是否一致
    // 获取原来的输入的密码
    var oldPwd = $('#reg-form input[name=password]').val()
    if (oldPwd !== value) {
      return '两次输入的密码不一致'
    }
  }
})

// 给登录表单绑定提交事件
$('#login-form').submit(function (e) {
  // 阻止表单的默认提交行为
  e.preventDefault()
  // 获取表单数据
  var fd = $(this).serialize()
  // 调用后端的登录接口进行身份验证
  $.ajax({
    type: 'POST',
    url: 'api/login',
    data: fd,
    success: function (res) {
      if (res.status === 0) {
        // 登录成功,先缓存token，再跳转到主页面
        // localStorage页面关闭后数据依然存在
        // localStorage.setItem('mytoken', res.token)
        // sessionStorage页面关闭后数据就没了
        sessionStorage.setItem('mytoken', res.token)
        location.href = './index.html'
      } else {
        // 登录失败
        layer.msg(res.message)
      }
    }
  })
})

// 控制登录表单和注册表单的切换
$('#toReg').click(function () {
  $('#login-form').hide()
  $('#reg-form').show()
})
$('#toLogin').click(function () {
  $('#login-form').show()
  $('#reg-form').hide()
})

// 绑定注册用户的表单提交事件
$('#reg-form').submit(function (e) {
  // 阻止表单默认行为
  e.preventDefault()
  // 获取表单数据
  var fd = $(this).serialize()
  // 调用接口实现表单提交
  $.ajax({
    type: 'post',
    url: 'api/reguser',
    data: fd,
    success: function (res) {
      if (res.status === 0) {
        // 注册成功后，显示登陆表单
        $('#toLogin').click()
      } else {
        // 注册失败
        alert(res.message)
      }
    }
  })
})